#ifndef __SERVER_H_
#define __SERVER_H_
#include <stdio.h>
#include <stdlib.h>
#include <arpa/inet.h>
#include <netinet/ip.h>
#include <sys/socket.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/epoll.h>
#include <pthread.h>
#include <sqlite3.h>
#define ERROR_CHECK_FUN(ret, num) \
    {                             \
        if (ret == num)           \
        {                         \
            return -1;            \
        }                         \
    }
// 指令宏
#define GET_CLIENT "<--get_the_online_client-->"
#define ACK "<--response-->"
#define ARGS_CHECK(argc, num)               \
    {                                       \
        if (argc != num)                    \
        {                                   \
            fprintf(stderr, args error !n); \
            return -1;                      \
        }                                   \
    }
#define ERROR_CHECK(ret, num, msg) \
    {                              \
        if (ret == num)            \
        {                          \
            perror(msg);           \
            exit(1);               \
        }                          \
    }
#define ERROR_CHECK_SQL(ret, num, msg, db)                     \
    {                                                          \
        if (ret != num)                                        \
        {                                                      \
            fprintf(stderr, "%S:%s", msg, sqlite3_errmsg(db)); \
            exit(1);                                           \
        }                                                      \
    }
/**
 * @brief
 *
 * @param ip 监听进程IP地址
 * @param port  进程端口号
 * @param listens
 * @return int
 */
int tcp_init(const char *ip, int port, int listens);
int tcp_wait(int fd_listen);
int sql_table_val_create();
int sql_table_val_delete();
int sql_table_val_alter();
int sql_table_val_select();
#endif
